Agents and Coordination Artifacts for Feature Engineering

نویسنده

  • Alessandro Ricci
چکیده

Agents and Multi-Agent Systems (MAS) are considered a suitable paradigm for engineering complex systems. Interaction is a primary source of this complexity and coordination plays a key role for its management, providing the means for modelling and shaping the agent interaction space so as to engineer the global behaviour of the system as a whole. Feature-based systems are certainly complex systems: they are generally composed by several interrelated parts which work together to provide global functionalities. The set of functionalities is not fixed, but typically evolves with the (dynamic) integration of new features. In this paper we investigate the possibility of using agents and coordination abstractions for the engineering of feature-based systems; in particular, typical feature issues – such as feature plug-and-play and the feature-interaction problem – are framed in the agent-based engineering context. The content of the paper is articulated as follows: First, we provide an overview of agent oriented software engineering, in particular of the reason why agent paradigm is suitable for complex system. Here, the importance of the coordination dimension is reminded, in particular the adoption of suitable coordination artifacts to engineer collective behaviour of MAS is discussed. Then, features and feature-based systems are briefly considered, sketching some of the main characteristics which make them complex systems. After that, a perspective for engineering feature-based systems on top of agents and coordination artifacts is provided; the main points of the discussion are exemplified using the TuCSoN MAS coordination model & infrastructure applied to a simple case study typically found in the feature literature, an email service engineering. 1 Agents and Coordination for Complex System Engineering Agent and Multi-Agent System (MAS) paradigms are considered the right level of abstraction for modelling and engineering complex systems, characterised by organisation structures and coordination processes that are more and more articulated and dynamic [22, 23]. Agent-based control systems, inter-organisational workflow management systems, agent-based Computer Supported Cooperative Work (CSCW) and team-based cooperative military contexts are prominent examples. For complex systems we mean here systems composed by a quite large number of independent and interacting parts, typically immersed and distributed into an unpredictable/open environment (physical or non physical, such as the Internet). The openness of systems typically implies that both the set of the components of the systems, and their relationships/interaction can change dynamically, during the lifetime of the systems themselves. Distribution and concurrency are characteristics that can be found in almost any complex system. The agent and multiagent paradigms are considered suitable since they provide abstractions (and methodologies, technologies) which naturally account for these issues. Various definitions has been given for the agent concept. An agent can be defined as an encapsulated computer system that is situated in some environment and can act flexibly and autonomously in that environment to meet its design objectives [23]. Among the main agent characteristics largely described in literature here we mention [7]: – autonomy – agents have control over both their internal state and their own behaviour. This implies that an agent embeds necessarily its own control flows. – situatedness – agents are immersed in a particular environment, over which they have a partial control and observability: they can receive inputs related to the state of their environment through sensors and they can act on the environment through effectors; – goal orientation – agents are designed to fulfill tasks related to some specific role, in order to achieve some specific objective. Other important characteristics are pro-activeness, that is the ability to opportunistically adopt goals and take the initiative, and reactivity, that is the ability to respond in a timely fashion to changes that occur to their environment. It is worth remarking here some of the reasons why the agent paradigm is considered more adequate for engineering complex systems than other mainstream paradigms, such as the object-oriented and component-oriented ones [8]. Issues such as distribution of control, concurrency, openness of the environment – which characterise complex systems – are directly addressed by the abstractions provided by the agent paradigm; this is generally not true in the case of object-oriented and component-oriented models. Of course, the same issues can be faced also in the context of these paradigms, but typically by adopting nonorthogonal mechanisms which cannot found a suitable specification in the computational model of the paradigm. Conversely, object-oriented and componentoriented technologies are typically used to implement agent-based technologies. Multi-Agent Systems are ensemble of agents, acting and working independently from each other, each representing an independent locus of control of the whole system. Each agent tries to accomplish its on task(s) and, in doing so, will typically need to interact with other agents and its surrounding environment, in order to obtain information / services that it does not posses or to coordinate its activities in order to ensure that its goals can be met. However, a multi-agent system, as a whole, is conceived to achieve more complex or wider goals than the mere sum of its component agents goals: MASs can typically be understood as societies of agents, where the mutual interactions between agents and with their environment leads to a useful global behaviour [2]. For this reason, another fundamental characteristic of the agent abstraction is the social ability, as the capability to be part of an agent society. The two main issues concerning MASs are organisation and coordination, two interrelated dimensions that are fundamental for designing, building and enacting Multi-Agent systems. Roughly speaking, organisation accounts for defining MAS structure and rules concerning this structure, often in terms of roles, and agent–role, inter-role and role-environment relationships; coordination accounts for defining the social rules and norms necessary to manage agent interaction and drive the MAS to achieve its social objectives. In this context, MAS infrastructures are fundamental to support agent societies lifecycle, providing basic services to support both intra-agent and interagents issues, such as agent life-cycle management, agent communication and interoperability, and high-level services for MAS organisation and coordination [4]. 1.1 Engineering Systems with Agents So, agent and MAS paradigm provides models, infrastructure and technologies that can be exploited to cover all the stages of software engineering, from analysis to deployment and runtime. Basically, engineering a system in terms of agents involves first identifying individual and collective/social activities needed to achieve system goals, and then mapping the activities on agents and agent societies according to some organisation and coordination approach [10, 24]. In particular, individual tasks are associated with one specific competence in the system, related to the need to access and effect a specific portion of the environment, and carry out some specific job. Each agent in the system is assigned to one or more individual tasks, and the agent assumes full responsibility for carrying out assigned tasks. From an organisational perspective, this corresponds to assigning each agent a specific role in the organisation/society. Social tasks represent the global responsibilities of the agent system, typically requiring several heterogeneous competencies. The achievement of social tasks leads to the identification of global social laws that have to be respected and/or enforced by the society of agents, to enable the society itself to function properly and according to the global expected behaviour. From an coordination perspective, this corresponds to choose a coordination model and use the abstractions it provides to represent and enact the social laws in terms of coordination laws shaping and ruling the agent interaction space [10]. 1.2 Coordination as Engineering Dimension Coordination in then a fundamental engineering dimension of MAS. Coordination approaches can be categorised in subjective and objective [13]: in the former, all the coordination burden related to the achievement social tasks is distributed upon agents (no mediation abstractions are used); in the latter, the coordination burden is balanced between agents and special purpose coordination artifacts, which are runtime coordination abstractions mediating agent (inter)action, and specifically designed to help an agent society to achieve its objectives. The behaviour of a coordination artifact is designed to embed and enact the social laws as required to achieve a social task. The notion of coordination artifacts supporting societies in their coordination activities can be found in different disciplines, also outside computer science. According to Activity Theory, every collaborating activity occurring in any social context is always mediated by some kind of tool (artifact), in order to manage the complexity of the involved interaction and automate the coordination [20]. Coordination artifacts are meant to be provided and supported by the MAS infrastructure, according to the coordination as a service perspective [21]: so the infrastructure itself must provide agents not only enabling services – enabling for instance communication and inter-operability –, but also governing ones, to specify and enact norms and rules governing agent interaction. The infrastructure then can be provider also of the basic services required to use and manage coordination artifacts – in terms of creation, inspection and adaptation of their behaviour. Summing up, engineering complex systems upon a MAS infrastructure supporting an objective coordination approach basically accounts for assigning and enacting individual tasks by means of individual agents, and using suitably engineered coordination artifacts to support social tasks and collaborating activities. 1.3 TuCSoN Coordination Infrastructure TuCSoN is an example of MAS coordination infrastructure supporting objective coordination [16]. An overview of the TuCSoN world is depicted in Figure 1. In TuCSoN coordination artifacts take the form of tuple centres, design / runtime coordination abstractions provided to agents by the infrastructure in order to enable and govern their interaction [12]. More precisely, tuple centres are programmable tuple spaces [12], a sort of reactive logic based blackboards; agents interact by writing, reading, and consuming logic tuples – ordered collections of heterogeneous information chunks – to/from tuple centres via simple communication operations (out, rd, in) which access tuples associatively (see Figure 2). While the behaviour a tuple space in response to communication events is fixed and pre-defined by the model, the behaviour of a tuple centre can be tailored to the application needs by defining a suitable set of specification tuples, which define how a tuple centre should react to incoming/outgoing communication events. The specification tuples are expressed in the ReSpecT language [3]; ReSpecT is logic-based, Turing-equivalent, and makes it possible to express coordination laws in the form of reactions: it can be considered an assembly language for managing interaction and doing coordination. The reactions are triggered by interaction events concerning the tuple centres (both external, such Coordination space nodes Organisation level society c society a society b Organisation o agents Society class A -role r1 -role r2 -role r3 ORG class O -society class A -society class B -society class C Society class B -role r3 -role r4 coordination artifacts (tuple centres) Society class C -role r4 -role r5 agents Fig. 1. TuCSoN world. (Top) TuCSoN coordination space, with coordination nodes and tuple centres inside the nodes. (Middle) Negotiation of an Agent Coordination Context (ACC) by an agent that aims at joining an organisation and using its tuple centres. (Bottom) Once inside the organisation, the agent use the ACC as interface to access tuple centres. out(pq(1,2)) tuple centre test

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Coordination Artifacts: A Unifying Abstraction for Engineering Environment-Mediated Coordination in MAS

Similarly to human organizations, where the environment plays a fundamental role in supporting social activities, the environment of a multi-agent system (MAS) is the natural place where understanding and designing agent coordination. Accordingly, we propose the notion of coordination artifact as a unifying abstraction for engineering environment-based coordination of agents. This is meant to c...

متن کامل

Cognitive Stigmergy: A Framework Based on Agents and Artifacts

Stigmergy has been variously adopted in MASs (multi-agent systems) and in other fields as well—as a technique for realising forms of emergent coordination in societies composed by a large amount of typically simple, ant-like, non-rational agents. In this article we introduce a conceptual and engineering framework for exploring the use of stigmergy in the context of societies composed by cogniti...

متن کامل

Comparison of Different Linear Filter Design Methods for Handling Ocular Artifacts in Brain Computer Interface System

 Brain-computer interfaces (BCI) record brain signals, analyze and translate them into control commands which are relayed to output devices that carry out desired actions. These systems do not use normal neuromuscular output pathways. Actually, the principal goal of BCI systems is to provide better life style for physically-challenged people which are suffered from cerebral palsy, amyotrophic l...

متن کامل

Participatory Service Design through Composed and Coordinated Service Feature Models

Active participation of diverse stakeholders such as consumers or experts in service engineering is critical. It ensures that relevant aspects of service quality, service acceptance and service compliance are addressed. However, coordination of diverse stakeholder inputs is difficult and their collaborative creation of common design artifacts demands novel engineering solutions. We present a se...

متن کامل

Coordination Approach to Find Best Defense Decision with Multiple Possibilities among Robocup Soccer Simulation Team

In 2D Soccer Simulation league, agents will decide based on information and data in their model. Effective decisions need to have world model information without any noise and missing data; however, there are few solutions to omit noise in world model data; so we should find efficient ways to reduce the effect of noise when making decisions. In this article we evaluate some simple solutions whe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003